<!DOCTYPE html>
<html lang="zh-CN" data-theme="light">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width,initial-scale=1" />
    <meta name="generator" content="VuePress 2.0.0-beta.60" />
    <meta name="theme" content="VuePress Theme Hope" />
    <meta property="og:url" content="http://www.x-easypdf.cn/zh/"><meta property="og:site_name" content="x-easypdf"><meta property="og:title" content="首页"><meta property="og:description" content="代码质量 SonarQube SonarQube Gitee Scan Gitee Scan Dromara 成员项目 为往圣继绝学，一个人或许能走的更快，但一群人会走的更远。"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"首页","description":"代码质量 SonarQube SonarQube Gitee Scan Gitee Scan Dromara 成员项目 为往圣继绝学，一个人或许能走的更快，但一群人会走的更远。"}</script><title>首页 | x-easypdf</title><meta name="description" content="代码质量 SonarQube SonarQube Gitee Scan Gitee Scan Dromara 成员项目 为往圣继绝学，一个人或许能走的更快，但一群人会走的更远。">
    <style>
      :root {
        --bg-color: #fff;
      }

      html[data-theme="dark"] {
        --bg-color: #1d1e1f;
      }

      html,
      body {
        background: var(--bg-color);
      }
    </style>
    <script>
      const userMode = localStorage.getItem("vuepress-theme-hope-scheme");
      const systemDarkMode =
        window.matchMedia &&
        window.matchMedia("(prefers-color-scheme: dark)").matches;

      if (userMode === "dark" || (userMode !== "light" && systemDarkMode)) {
        document.querySelector("html").setAttribute("data-theme", "dark");
      }
    </script>
    <link rel="preload" href="/assets/style-bc3293c3.css" as="style"><link rel="stylesheet" href="/assets/style-bc3293c3.css">
    <link rel="modulepreload" href="/assets/app-7a9d7447.js"><link rel="modulepreload" href="/assets/framework-7e306a38.js"><link rel="modulepreload" href="/assets/index.html-e78edaf9.js"><link rel="modulepreload" href="/assets/index.html-9c210639.js">
  </head>
  <body>
    <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="skip-link sr-only">跳至主要內容</a><!--]--><div class="theme-container no-sidebar"><!--[--><header class="navbar" id="navbar"><div class="navbar-start"><button class="toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><a aria-current="page" href="/zh/" class="router-link-active router-link-exact-active brand"><img class="logo" src="/logo.png" alt="x-easypdf"><!----><span class="site-name hide-in-pad">x-easypdf</span></a><!--[--><!----><!--]--></div><div class="navbar-center"><!--[--><!----><!--]--><nav class="nav-links"><div class="nav-item hide-in-mobile"><a aria-current="page" href="/zh/" class="router-link-active router-link-exact-active nav-link active" aria-label="首页"><span class="font-icon icon iconfont icon-home" style=""></span>首页<!----></a></div><div class="nav-item hide-in-mobile"><a href="/zh/agreement/%E8%BD%AF%E4%BB%B6%E5%8D%8F%E8%AE%AE.html" class="nav-link" aria-label="软件协议"><span class="font-icon icon iconfont icon-copyright" style=""></span>软件协议<!----></a></div><div class="nav-item hide-in-mobile"><div class="dropdown-wrapper"><button class="dropdown-title" type="button" aria-label="使用指南"><span class="title"><span class="font-icon icon iconfont icon-creative" style=""></span>使用指南</span><span class="arrow"></span><ul class="nav-dropdown"><li class="dropdown-item"><a href="/zh/guide/fop/" class="nav-link" aria-label="fop模块"><span class="font-icon icon iconfont icon-template" style=""></span>fop模块<!----></a></li><li class="dropdown-item"><a href="/zh/guide/pdfbox/" class="nav-link" aria-label="pdfbox模块"><span class="font-icon icon iconfont icon-edit" style=""></span>pdfbox模块<!----></a></li></ul></button></div></div><div class="nav-item hide-in-mobile"><a href="/zh/feedback/%E9%97%AE%E9%A2%98%E5%8F%8D%E9%A6%88.html" class="nav-link" aria-label="问题反馈"><span class="font-icon icon iconfont icon-question" style=""></span>问题反馈<!----></a></div><div class="nav-item hide-in-mobile"><a aria-current="page" href="/zh/#" class="router-link-active router-link-exact-active nav-link" aria-label=" v2.11.2"><span class="font-icon icon iconfont icon-tag" style=""></span> v2.11.2<!----></a></div></nav><!--[--><!----><!--]--></div><div class="navbar-end"><!--[--><!----><!--]--><!----><div class="nav-item"><a class="repo-link" href="https://gitee.com/dromara/x-easypdf" target="_blank" rel="noopener noreferrer" aria-label="Gitee仓库"><svg xmlns="http://www.w3.org/2000/svg" class="icon gitee-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="gitee icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><path d="M512 992C246.92 992 32 777.08 32 512S246.92 32 512 32s480 214.92 480 480-214.92 480-480 480zm242.97-533.34H482.39a23.7 23.7 0 0 0-23.7 23.7l-.03 59.28c0 13.08 10.59 23.7 23.7 23.7h165.96a23.7 23.7 0 0 1 23.7 23.7v11.85a71.1 71.1 0 0 1-71.1 71.1H375.71a23.7 23.7 0 0 1-23.7-23.7V423.11a71.1 71.1 0 0 1 71.1-71.1h331.8a23.7 23.7 0 0 0 23.7-23.7l.06-59.25a23.73 23.73 0 0 0-23.7-23.73H423.11a177.78 177.78 0 0 0-177.78 177.75v331.83c0 13.08 10.62 23.7 23.7 23.7h349.62a159.99 159.99 0 0 0 159.99-159.99V482.33a23.7 23.7 0 0 0-23.7-23.7z"></path></svg></a></div><div class="nav-item hide-in-mobile"><button class="outlook-button" tabindex="-1" ariahidden="true"><svg xmlns="http://www.w3.org/2000/svg" class="icon outlook-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="outlook icon"><path d="M224 800c0 9.6 3.2 44.8 6.4 54.4 6.4 48-48 76.8-48 76.8s80 41.6 147.2 0 134.4-134.4 38.4-195.2c-22.4-12.8-41.6-19.2-57.6-19.2C259.2 716.8 227.2 761.6 224 800zM560 675.2l-32 51.2c-51.2 51.2-83.2 32-83.2 32 25.6 67.2 0 112-12.8 128 25.6 6.4 51.2 9.6 80 9.6 54.4 0 102.4-9.6 150.4-32l0 0c3.2 0 3.2-3.2 3.2-3.2 22.4-16 12.8-35.2 6.4-44.8-9.6-12.8-12.8-25.6-12.8-41.6 0-54.4 60.8-99.2 137.6-99.2 6.4 0 12.8 0 22.4 0 12.8 0 38.4 9.6 48-25.6 0-3.2 0-3.2 3.2-6.4 0-3.2 3.2-6.4 3.2-6.4 6.4-16 6.4-16 6.4-19.2 9.6-35.2 16-73.6 16-115.2 0-105.6-41.6-198.4-108.8-268.8C704 396.8 560 675.2 560 675.2zM224 419.2c0-28.8 22.4-51.2 51.2-51.2 28.8 0 51.2 22.4 51.2 51.2 0 28.8-22.4 51.2-51.2 51.2C246.4 470.4 224 448 224 419.2zM320 284.8c0-22.4 19.2-41.6 41.6-41.6 22.4 0 41.6 19.2 41.6 41.6 0 22.4-19.2 41.6-41.6 41.6C339.2 326.4 320 307.2 320 284.8zM457.6 208c0-12.8 12.8-25.6 25.6-25.6 12.8 0 25.6 12.8 25.6 25.6 0 12.8-12.8 25.6-25.6 25.6C470.4 233.6 457.6 220.8 457.6 208zM128 505.6C128 592 153.6 672 201.6 736c28.8-60.8 112-60.8 124.8-60.8-16-51.2 16-99.2 16-99.2l316.8-422.4c-48-19.2-99.2-32-150.4-32C297.6 118.4 128 291.2 128 505.6zM764.8 86.4c-22.4 19.2-390.4 518.4-390.4 518.4-22.4 28.8-12.8 76.8 22.4 99.2l9.6 6.4c35.2 22.4 80 12.8 99.2-25.6 0 0 6.4-12.8 9.6-19.2 54.4-105.6 275.2-524.8 288-553.6 6.4-19.2-3.2-32-19.2-32C777.6 76.8 771.2 80 764.8 86.4z"></path></svg><div class="outlook-dropdown"><!----></div></button></div><!--[--><button class="search-pro-button" role="search" aria-label="搜索"><svg xmlns="http://www.w3.org/2000/svg" class="icon search-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="search icon"><path d="M192 480a256 256 0 1 1 512 0 256 256 0 0 1-512 0m631.776 362.496-143.2-143.168A318.464 318.464 0 0 0 768 480c0-176.736-143.264-320-320-320S128 303.264 128 480s143.264 320 320 320a318.016 318.016 0 0 0 184.16-58.592l146.336 146.368c12.512 12.48 32.768 12.48 45.28 0 12.48-12.512 12.48-32.768 0-45.28"></path></svg></button><!--]--><!--[--><!----><!--]--><button class="toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span class="button-container"><span class="button-top"></span><span class="button-middle"></span><span class="button-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow left"></span></div><aside class="sidebar" id="sidebar"><!--[--><!----><!--]--><ul class="sidebar-links"></ul><!--[--><!----><!--]--></aside><!--[--><main class="home project" id="main-content" aria-labelledby="main-title"><!----><header class="hero-info-wrapper"><!--[--><img class="" src="/logo.png" alt="x-easypdf"><!--]--><div class="hero-info"><h1 id="main-title">x-easypdf</h1><p class="description">一个用搭积木的方式构建 pdf 的框架</p><p class="actions"><a href="/zh/guide/fop/" class="nav-link action-button primary" aria-label="fop 使用指南 💡"><!---->fop 使用指南 💡<!----></a><a href="/zh/guide/pdfbox/" class="nav-link action-button primary" aria-label="pdfbox 使用指南 💡"><!---->pdfbox 使用指南 💡<!----></a></p></div></header><!--[--><div class="feature-panel"><!----><div class="feature-wrapper"><a href="/zh/guide/fop/" class="feature-item link" role="navigation" aria-label="fop 模块"><h3><span class="font-icon icon iconfont icon-template" style=""></span><span>fop 模块</span></h3><p>主打 pdf 导出功能，基于 xsl-fo 模板生成 pdf 文档，以数据源的方式进行模板渲染，并内置 xml 数据源、thymeleaf 数据源、freemarker 数据源、jte 数据源、document 数据源等多种数据源，同时提供 java 对象的方式构建 pdf 文档。</p></a><a href="/zh/guide/pdfbox/" class="feature-item link" role="navigation" aria-label="pdfbox 模块"><h3><span class="font-icon icon iconfont icon-edit" style=""></span><span>pdfbox 模块</span></h3><p>主打 pdf 编辑功能，采用组件化的形式进行 pdf 的构建，同时提供自动换行与分页、表单填写、数字签名、图像转换、文档合并、文档拆分、文档提取、文档替换、文档分析、文档打印等功能，并内置中文字体及多种常用组件。</p></a></div></div><!--]--><!----><div class="theme-hope-content custom"><h2 id="代码质量" tabindex="-1"><a class="header-anchor" href="#代码质量" aria-hidden="true">#</a> 代码质量</h2><h3 id="sonarqube" tabindex="-1"><a class="header-anchor" href="#sonarqube" aria-hidden="true">#</a> SonarQube</h3><figure><img src="" alt="SonarQube" tabindex="0" loading="lazy"><figcaption>SonarQube</figcaption></figure><h3 id="gitee-scan" tabindex="-1"><a class="header-anchor" href="#gitee-scan" aria-hidden="true">#</a> Gitee Scan</h3><figure><img src="" alt="Gitee Scan" tabindex="0" loading="lazy"><figcaption>Gitee Scan</figcaption></figure><h2 id="dromara-成员项目" tabindex="-1"><a class="header-anchor" href="#dromara-成员项目" aria-hidden="true">#</a> Dromara 成员项目</h2><div style="width:100%;height:260px;"><div style="width:100%;height:100%;display:flex;flex-wrap:wrap;"><div style="width:16%;height:25%;"><a href="https://gitee.com/dromara/TLog" target="_blank"><img src="https://oss.dev33.cn/sa-token/link/tlog2.png" title="一个轻量级的分布式日志标记追踪神器，10分钟即可接入，自动对日志打标签完成微服务的链路追踪" style="width:60%;height:60%;align-self:center;"></a></div><div style="width:16%;height:25%;"><a href="https://gitee.com/dromara/liteFlow" target="_blank"><img src="https://oss.dev33.cn/sa-token/link/liteflow.png" title="轻量，快速，稳定，可编排的组件式流程引擎" style="width:60%;height:60%;align-self:center;"></a></div><div style="width:16%;height:25%;"><a href="https://hutool.cn/" target="_blank"><img src="https://oss.dev33.cn/sa-token/link/hutool.jpg" title="小而全的Java工具类库，使Java拥有函数式语言般的优雅，让Java语言也可以“甜甜的”。" style="width:60%;height:60%;align-self:center;"></a></div><div style="width:16%;height:25%;"><a href="https://sa-token.dev33.cn/" target="_blank"><img src="https://oss.dev33.cn/sa-token/link/sa-token.png" title="一个轻量级 java 权限认证框架，让鉴权变得简单、优雅！" style="width:60%;height:60%;align-self:center;"></a></div><div style="width:16%;height:25%;"><a href="https://gitee.com/dromara/hmily" target="_blank"><img src="https://oss.dev33.cn/sa-token/link/hmily.png" title="高性能一站式分布式事务解决方案。" style="width:60%;height:60%;align-self:center;"></a></div><div style="width:16%;height:25%;"><a href="https://gitee.com/dromara/Raincat" target="_blank"><img src="https://oss.dev33.cn/sa-token/link/raincat.png" title="强一致性分布式事务解决方案。" style="width:60%;height:60%;align-self:center;"></a></div><div style="width:16%;height:25%;"><a href="https://gitee.com/dromara/myth" target="_blank"><img src="https://oss.dev33.cn/sa-token/link/myth.png" title="可靠消息分布式事务解决方案。" style="width:60%;height:60%;align-self:center;"></a></div><div style="width:16%;height:25%;"><a href="https://cubic.jiagoujishu.com/" target="_blank"><img src="https://oss.dev33.cn/sa-token/link/cubic.png" title="一站式问题定位平台，以agent的方式无侵入接入应用，完整集成arthas功能模块，致力于应用级监控，帮助开发人员快速定位问题" style="width:60%;height:60%;align-self:center;"></a></div><div style="width:16%;height:25%;"><a href="https://maxkey.top/" target="_blank"><img src="https://oss.dev33.cn/sa-token/link/maxkey.png" title="业界领先的身份管理和认证产品" style="width:60%;height:60%;align-self:center;"></a></div><div style="width:16%;height:25%;"><a href="http://forest.dtflyx.com/" target="_blank"><img src="https://oss.dev33.cn/sa-token/link/forest-logo.png" title="Forest能够帮助您使用更简单的方式编写Java的HTTP客户端" style="width:60%;height:60%;align-self:center;"></a></div><div style="width:16%;height:25%;"><a href="https://jpom.io/" target="_blank"><img src="https://oss.dev33.cn/sa-token/link/jpom.png" title="一款简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件" style="width:60%;height:60%;align-self:center;"></a></div><div style="width:16%;height:25%;"><a href="https://su.usthe.com/" target="_blank"><img src="https://oss.dev33.cn/sa-token/link/sureness.png" title="面向 REST API 的高性能认证鉴权框架" style="width:60%;height:60%;align-self:center;"></a></div><div style="width:16%;height:25%;"><a href="https://easy-es.cn/" target="_blank"><img src="https://oss.dev33.cn/sa-token/link/easy-es2.png" title="傻瓜级ElasticSearch搜索引擎ORM框架" style="width:60%;height:60%;align-self:center;"></a></div><div style="width:16%;height:25%;"><a href="https://gitee.com/dromara/northstar" target="_blank"><img src="https://oss.dev33.cn/sa-token/link/northstar_logo.png" title="Northstar盈富量化交易平台" style="width:60%;height:60%;align-self:center;"></a></div><div style="width:16%;height:25%;"><a href="https://hertzbeat.com/" target="_blank"><img src="https://oss.dev33.cn/sa-token/link/hertzbeat_brand.jpg" title="易用友好的云监控系统" style="width:60%;height:60%;align-self:center;"></a></div><div style="width:16%;height:25%;"><a href="https://plugins.sheng90.wang/fast-request/" target="_blank"><img src="https://oss.dev33.cn/sa-token/link/fast-request.gif" title="Idea 版 Postman，为简化调试API而生" style="width:60%;height:60%;align-self:center;"></a></div><div style="width:16%;height:25%;"><a href="https://www.jeesuite.com/" target="_blank"><img src="https://oss.dev33.cn/sa-token/link/mendmix.png" title="开源分布式云原生架构一站式解决方案" style="width:60%;height:60%;align-self:center;"></a></div><div style="width:16%;height:25%;"><a href="https://gitee.com/dromara/koalas-rpc" target="_blank"><img src="https://oss.dev33.cn/sa-token/link/koalas-rpc2.png" title="企业生产级百亿日PV高可用可拓展的RPC框架。" style="width:60%;height:60%;align-self:center;"></a></div><div style="width:16%;height:25%;"><a href="https://async.sizegang.cn/" target="_blank"><img src="https://oss.dev33.cn/sa-token/link/gobrs-async.png" title="配置极简功能强大的异步任务动态编排框架" style="width:60%;height:60%;align-self:center;"></a></div><div style="width:16%;height:25%;"><a href="https://dynamictp.cn/" target="_blank"><img src="https://oss.dev33.cn/sa-token/link/dynamic-tp.png" title="基于配置中心的轻量级动态可监控线程池" style="width:60%;height:60%;align-self:center;"></a></div><div style="width:16%;height:25%;"><a href="https://gitee.com/dromara/x-easypdf" target="_blank"><img src="https://oss.dev33.cn/sa-token/link/x-easypdf.png" title="一个用搭积木的方式构建pdf的框架（基于pdfbox）" style="width:60%;height:60%;align-self:center;"></a></div><div style="width:16%;height:25%;"><a href="http://dromara.gitee.io/image-combiner" target="_blank"><img src="https://oss.dev33.cn/sa-token/link/image-combiner.png" title="一个专门用于图片合成的工具，没有很复杂的功能，简单实用，却不失强大" style="width:60%;height:60%;align-self:center;"></a></div><div style="width:16%;height:25%;"><a href="https://www.herodotus.cn/" target="_blank"><img src="https://oss.dev33.cn/sa-token/link/dante-cloud2.png" title="Dante-Cloud 是一款企业级微服务架构和服务能力开发平台。" style="width:60%;height:60%;align-self:center;"></a></div><div style="width:16%;height:25%;"><a href="https://dromara.org/zh/projects/" target="_blank"><img src="https://oss.dev33.cn/sa-token/link/dromara.png" title="让每一位开源爱好者，体会到开源的快乐。" style="width:60%;height:60%;align-self:center;"></a></div></div></div><p align="center"> 为往圣继绝学，一个人或许能走的更快，但一群人会走的更远。 </p></div><!----></main><!--]--><footer class="footer-wrapper"><div class="footer">Copyright &copy; 2020-2023 <a href="https://gitee.com/xsxgit" target="_blank">XSX</a>. All Rights Reserved. | <a href="http://license.coscl.org.cn/MulanPSL2" target="_blank">Mulan PSL v2</a> Licensed | Theme by <a href="https://theme-hope.vuejs.press/" target="_blank">VuePress Theme Hope</a></div><!----></footer></div><!--]--><!----><!----><!--]--></div>
    <script type="module" src="/assets/app-7a9d7447.js" defer></script>
  </body>
</html>
